import wx from 'weixin-js-sdk'
import {
  Toast
} from 'vant'
import api from '@/api/index'
export const shareTitle = '测试'
export const shareUrl = '测试连接'
export const shareImg = '测试图片'
export const shareDesc = '测试详情'

/**
 * 分享
 * @param {shareTitle} 分享标题
 * @param {shareUrl} 分享链接
 * @param {shareImg} 分享图片
 * @param {shareDesc} 分享描述
 */
export const commonShare = (shareTitle, shareUrl, shareImg, shareDesc) => {
  let url = encodeURIComponent(window.location.href.split('#')[0])
  api.share.shareSDK({url: url})
    .then((res) => {
      res = res.data
      if (res.code === api.CODE_OK && res.data) {
        const data = res.data
        wx.config({
          debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来，若要查看传入的参数，可以在pc端打开，参数信息会通过log打出，仅在pc端时才会打印。
          appId: data.appId, // 必填，公众号的唯一标识
          timestamp: data.timestamp, // 必填，生成签名的时间戳
          nonceStr: data.nonceStr, // 必填，生成签名的随机串
          signature: data.signature, // 必填，签名
          jsApiList: ['onMenuShareAppMessage', 'onMenuShareTimeline'] // 必填，需要使用的JS接口列表
        })
        wx.ready(() => {
          wx.onMenuShareTimeline({
            title: shareTitle, // 分享标题
            link: shareUrl, // 分享链接，该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
            imgUrl: shareImg, // 分享图标
            success: () => { // 点击分享按钮回调函数
              Toast({
                message: '分享成功',
                duration: 1000,
                forbidClick: true
              })
            },
            cancel: () => { // 取消分享回调函数
              Toast({
                message: '取消分享',
                duration: 1000,
                forbidClick: true
              })
            }
          })
          wx.onMenuShareAppMessage({
            title: shareTitle, // 分享标题
            desc: shareDesc, // 分享描述
            link: shareUrl, // 分享链接，该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
            imgUrl: shareImg, // 分享图标
            type: '', // 分享类型,music、video或link，不填默认为link
            dataUrl: '', // 如果type是music或video，则要提供数据链接，默认为空
            success: () => {
              // 用户点击了分享后执行的回调函数
              Toast({
                message: '分享成功',
                duration: 1000,
                forbidClick: true
              })
            },
            cancel: () => {
              Toast({
                message: '取消分享',
                duration: 1000,
                forbidClick: true
              })
            }
          })
        })
        wx.error((res) => { // config验证失败回调函数
          console.log(res)
        })
      }
    }).catch((e) => {
      console.log(e)
    })
}
